<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div id="root"></div>
    <script src="./js/react.development.js"></script>
    <script src="./js/react-dom.development.js"></script>
    <script src="./js/babel.min.js"></script>
    <script type="text/babel">
      //   - 需求：实现评论列表功能

      //   - 如果有评论数据，就展示列表结构 li（ 列表渲染 ）要包含a标签

      //     - name 表示评论人，渲染 h3
      //     - content 表示评论内容，渲染 p

      //   - 如果没有评论数据，就展示一个 h1 标签，内容为： 暂无评论！

      //   - 根据自己的喜好添加样式

      //   - 给a标签注册点击事件, 打印内容

      const list = [
        { id: 1, name: 'jack', content: 'rose, you jump i jump' },
        { id: 2, name: 'rose', content: 'jack, you see you, one day day' },
        { id: 3, name: 'tom', content: 'jack,。。。。。' },
      ]

      // 将复杂的需求分成一个个简单的小需求:

      //   需求1. 列表渲染,不考虑没有数据的情况,只考虑有数据,如何列表渲染
      //   需求2. 考虑如果没有数据,就展示h1,让无序列表隐藏,否则无需列表展示,h1隐藏
      const div = (
        <div>
          {list.length ? (
            <ul>
              {list.map((item) => {
                return (
                  <li key={item.id} style={{ backgroundColor: 'yellow' }}>
                    <a
                      href=""
                      onClick={(e) => {
                        e.preventDefault()
                        console.log(e.target.innerText)
                        // return false //无效 原因: 因为我们写的这个函数不是真正的事件处理函数
                      }}
                    >
                      <h3 style={{ backgroundColor: 'green' }}>{item.name}</h3>
                      <p style={{ backgroundColor: 'red' }}>{item.content}</p>
                    </a>
                  </li>
                )
              })}
            </ul>
          ) : (
            <h1>暂无评论</h1>
          )}
        </div>
      )

      ReactDOM.render(div, document.getElementById('root'))
    </script>
  </body>
</html>
